package com.zidongxiangxi.sharding.job.core.registry;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;

/**
 * Zookeeper配置
 *
 * @author chenxudong
 * @date 2021-02-19
 */
@Getter
@Setter
@RequiredArgsConstructor
public final class ZookeeperConfiguration {
    
    /**
     * 服务器列表
     * 
     * <p>
     * 包括io和端口,
     * 多个服务用英文逗号分隔
     * 例如: host1:2181,host2:2181
     * </p>
     */
    private final String serverLists;
    
    /**
     * 命名空间，即根目录
     */
    private final String namespace;
    
    /**
     * 基础的休眠时间
     */
    private int baseSleepTimeMilliseconds = 1000;
    
    /**
     * 最大的休眠时间
     */
    private int maxSleepTimeMilliseconds = 3000;
    
    /**
     * 最大重试次数
     */
    private int maxRetries = 3;
    
    /**
     * 回话超时时间
     */
    private int sessionTimeoutMilliseconds;
    
    /**
     * 连接超时时间
     */
    private int connectionTimeoutMilliseconds;

}
